// Decompiled by DJ v3.11.11.95 Copyright 2009 Atanas Neshkov  Date: 22/03/2011 12:25:48 p.m.
// Home Page: http://members.fortunecity.com/neshkov/dj.html  http://www.neshkov.com/dj.html - Check often for new version!
// Decompiler options: packimports(3) 
// Source File Name:   PedidoHeader.java

package com.luxsoft.sw3.impap.ui.form;

import com.luxsoft.siipap.model.Direccion;
import com.luxsoft.siipap.model.core.Cliente;
import com.luxsoft.siipap.model.core.ClienteCredito;
import com.luxsoft.siipap.swing.controls.Header;
import com.luxsoft.sw3.ventas.Pedido;
import java.awt.BorderLayout;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.text.MessageFormat;
import javax.swing.JPanel;
import org.apache.commons.lang.StringUtils;

public class PedidoHeader extends JPanel
    implements PropertyChangeListener
{

    public PedidoHeader()
    {
        setLayout(new BorderLayout());
        header = new Header("Seleccione un producto", "");
        add(header.getHeader());
    }

    public void updateHeader()
    {
        Cliente c = getCliente();
        if(c != null)
        {
            if(c.getClave().equals("1"))
            {
                header.setTitulo("Venta Mostrador");
                header.setDescripcion(c.getNombreRazon());
                return;
            }
            header.setTitulo((new StringBuilder(String.valueOf(c.getNombreRazon()))).append(" ( ").append(c.getClave()).append(" )").toString());
            if(c.getDireccionFiscal() != null)
            {
                String pattern = "Calle  : {0}  #       {1} Int  : {8} \t\tCr\351dito{2} \nCol    : {3} CP:      {4} \nDel/Mpo: {5} Entidad: {6} \tTel(s):{9}  {10}\tKilos: {7}";
                Direccion df = c.getDireccionFiscal();
                String msg = MessageFormat.format(pattern, new Object[] {
                    df.getCalle(), df.getNumero(), c.isDeCredito() ? c.getCredito().isSuspendido() ? "NO" : "SI" : "NO", df.getColonia(), df.getCp(), df.getMunicipio(), df.getEstado(), Double.valueOf(pedido.getKilos()), StringUtils.trimToEmpty(df.getNumeroInterior()), StringUtils.trimToEmpty(c.getTelefono1()), 
                    c.getTelefono2()
                });
                header.setDescripcion(msg);
            }
        } else
        {
            header.setTitulo("Seleccione un cliente");
            header.setDescripcion("");
        }
    }

    public Cliente getCliente()
    {
        return pedido.getCliente();
    }

    public Pedido getPedido()
    {
        return pedido;
    }

    public void setPedido(Pedido pedido)
    {
        this.pedido = pedido;
    }

    public void propertyChange(PropertyChangeEvent evt)
    {
        updateHeader();
    }

    private Header header;
    private Pedido pedido;
}
